Release 10.1A: OpenEdge Development:
ADM and SmartObjects
Preface
This Preface contains the following sections:
Purpose
This book describes the Application Development Model (ADM) and explains how to use Progress® SmartObjects in Progress 4GL database applications.
Audience
This book is intended for Progress 4GL application developers.
Organization
Provides an overview of the ADM and SmartObjects.
Provides a summary of SmartObject capabilities and types, followed by a description of each SmartObject.
Provides an overview of SmartLinks and a list of types, followed by a description of the relationship established for each SmartLink type and some programming considerations.
Chapter 4 "Data Management in the ADM"
Describes how various SmartObjects work together to manage database records in your applications.
Chapter 5 "SmartObject Interactions"
Describes how SmartObjects interact; in particular, how they communicate, get and set ADM properties, and pass data.
Chapter 6 "Advanced ADM Topics"
Discusses advanced ADM topics, including parameterizing SmartObject instances as variables, customizing ADM internal procedures and functions, adding your own SmartObjects, monitoring SmartObjects applications, and AppBuilder requirements for SmartObjects.
Chapter 7 "Developing Your Application’s Business Logic"
Provides information on developing and deploying SmartObject-based applications in heterogeneous (single or combined client/server, n-tier, or Web-enabled) environments.
Chapter 8 "Developing ADM Extensions"
Describes how to use the AppBuilder’s New ADM Class tool and ADM custom class files to extend the ADM classes.
Appendix A, "ADM Standard and Custom Class Files"
Shows the contents of the class files for the viewer class, as an example of the class files for all ADM classes.
Appendix B, "ADM1 to ADM2 Conversion Utility"
Describes how to use the conversion utility to convert ADM1 (Versions 8.1 and 8.2) SmartObjects to ADM2 (Version 9 and later) SmartObjects.
Typographical conventions
This manual uses the following typographical conventions:
Examples of syntax descriptions
In this example,
ACCUMis a keyword, andaggregateandexpressionare variables:
FORis one of the statements that can end with either a period or a colon, as in this example:
In this example,
STREAMstream,UNLESS-HIDDEN, andNO-ERRORare optional:
In this example, the outer (small) brackets are part of the language, and the inner (large) brackets denote an optional item:
A called external procedure must use braces when referencing compile-time arguments passed by a calling procedure, as shown in this example:
In this example,
EACH,FIRST, andLASTare optional, but you can choose only one of them:
In this example, you must include two expressions, and optionally you can include more. Multiple expressions are separated by commas:
In this example, you must specify
MESSAGEand at least oneexpressionorSKIP[ (n) ], and any number of additionalexpressionorSKIP[ (n) ] is allowed:
In this example, you must specify {
include-file, then optionally any number ofargumentor&argument-name = "argument-value", and then terminate with }:
Long syntax descriptions split across lines
Some syntax descriptions are too long to fit on one line. When syntax descriptions are split across multiple lines, groups of optional and groups of required items are kept together in the required order.
In this example,
WITHis followed by six optional items:
Complex syntax descriptions with both required and optional elements
Some syntax descriptions are too complex to distinguish required and optional elements by bracketing only the optional elements. For such syntax, the descriptions include both braces (for required elements) and brackets (for optional elements).
In this example,
ASSIGNrequires either one or morefieldentries or onerecord. Options available withfieldorrecordare grouped with braces and brackets:
OpenEdge messages
OpenEdge displays several types of messages to inform you of routine and unusual occurrences:
- Execution messages inform you of errors encountered while OpenEdge is running a procedure; for example, if OpenEdge cannot find a record with a specified index field value.
- Compile messages inform you of errors found while OpenEdge is reading and analyzing a procedure before running it; for example, if a procedure references a table name that is not defined in the database.
- Startup messages inform you of unusual conditions detected while OpenEdge is getting ready to execute; for example, if you entered an invalid startup parameter.
After displaying a message, OpenEdge proceeds in one of several ways:
- Continues execution, subject to the error-processing actions that you specify or that are assumed as part of the procedure. This is the most common action taken after execution messages.
- Returns to the Progress Procedure Editor, so you can correct an error in a procedure. This is the usual action taken after compiler messages.
- Halts processing of a procedure and returns immediately to the Progress Procedure Editor. This does not happen often.
- Terminates the current session.
OpenEdge messages end with a message number in parentheses. In this example, the message number is
200:
If you encounter an error that terminates OpenEdge, note the message number before restarting.
Obtaining more information about OpenEdge messages
On Windows platforms, use OpenEdge online help to obtain more information about OpenEdge messages. Many OpenEdge tools include the following Help menu options to provide information about messages:
- Choose Help
Recent Messages to display detailed descriptions of the most recent OpenEdge message and all other messages returned in the current session.
- Choose Help
Messages and then enter the message number to display a description of a specific OpenEdge message.
- In the Progress Procedure Editor, press the HELP key or F1.
On UNIX platforms, use the Progress
PROcommand to start a single-user mode character OpenEdge client session and view a brief description of a message by providing its number.
![]()
To use the
PROcommand to obtain a message description by message number:
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |